sort returned tags array by tags priority (#497102).
authorYevgen Muntyan <muntyan@tamu.edu>
Thu, 15 Nov 2007 17:00:33 +0000 (17:00 +0000)
committerYevgen Muntyan <muntyan@src.gnome.org>
Thu, 15 Nov 2007 17:00:33 +0000 (17:00 +0000)
2007-11-15  Yevgen Muntyan  <muntyan@tamu.edu>

* gtk/gtktextbtree.c (_gtk_text_btree_get_tags): sort returned
tags array by tags priority (#497102).
* gtk/gtktextiter.c (gtk_text_iter_get_tags), (gtk_text_iter_get_attributes):
* gtk/gtktextlayout.c (get_tags_array_at_iter): and do not sort it here.

svn path=/trunk/; revision=18995

ChangeLog
gtk/gtktextbtree.c
gtk/gtktextiter.c
gtk/gtktextlayout.c

index 478650737d582863347cc0ab8f53c95b33b849fd..fa7141ee1a345d595beca0d1d5ef6e1f43551456 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-15  Yevgen Muntyan  <muntyan@tamu.edu>
+
+       * gtk/gtktextbtree.c (_gtk_text_btree_get_tags): sort returned
+       tags array by tags priority (#497102).
+       * gtk/gtktextiter.c (gtk_text_iter_get_tags), (gtk_text_iter_get_attributes):
+       * gtk/gtktextlayout.c (get_tags_array_at_iter): and do not sort it here.
+
 2007-11-15  Yevgen Muntyan  <muntyan@tamu.edu>
 
        * gtk/gtktextlayout.c: (gtk_text_layout_get_line_display),
index b170c58525fbd6179464fea54c80ec484e61a772..9232d8c244afaed796223ecb626e54630514175a 100644 (file)
@@ -2196,6 +2196,8 @@ _gtk_text_btree_get_line_at_char (GtkTextBTree      *tree,
   return line;
 }
 
+/* It returns an array sorted by tags priority, ready to pass to
+ * _gtk_text_attributes_fill_from_tags() */
 GtkTextTag**
 _gtk_text_btree_get_tags (const GtkTextIter *iter,
                          gint *num_tags)
@@ -2304,6 +2306,10 @@ _gtk_text_btree_get_tags (const GtkTextIter *iter,
       g_free (tagInfo.tags);
       return NULL;
     }
+
+  /* Sort tags in ascending order of priority */
+  _gtk_text_tag_array_sort (tagInfo.tags, dst);
+
   return tagInfo.tags;
 }
 
index 715f7e596496632f3a87bf52e8b0c80105c2cdc2..5ab52dc130c7c91e3fac6ca934a75d56b8573521 100644 (file)
@@ -1331,9 +1331,6 @@ gtk_text_iter_get_tags (const GtkTextIter *iter)
       return NULL;
     }
 
-  /* Sort tags in ascending order of priority */
-  _gtk_text_tag_array_sort (tags, tag_count);
-
   retval = NULL;
   i = 0;
   while (i < tag_count)
@@ -1748,9 +1745,6 @@ gtk_text_iter_get_attributes (const GtkTextIter  *iter,
       return FALSE;
     }
 
-  /* Sort tags in ascending order of priority */
-  _gtk_text_tag_array_sort (tags, tag_count);
-
   _gtk_text_attributes_fill_from_tags (values,
                                        tags,
                                        tag_count);
index 0b1b708f8c23090b0b579b356c965d5e445c2d58..f09a04d9a8a8ad6469574b836629a4acc8e4023b 100644 (file)
@@ -2072,8 +2072,6 @@ get_tags_array_at_iter (GtkTextIter *iter)
 
   if (n_tags > 0)
     {
-      /* Sort tags in ascending order of priority */
-      _gtk_text_tag_array_sort (tags, n_tags);
       array = g_ptr_array_sized_new (n_tags);
       g_ptr_array_set_size (array, n_tags);
       memcpy (array->pdata, tags, n_tags * sizeof (GtkTextTag*));